home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 3 / Info_Mac_1994-01.iso / Development / Information / Mac Programming Secrets 1.0.1 / Chapter 06 / MouseTracker.h < prev    next >
Text File  |  1992-05-19  |  1KB  |  48 lines

  1.  
  2. /* Values used in mouse tracking. */
  3.  
  4. #define trackPress            1
  5. #define trackMove            2
  6. #define trackRelease        3
  7.  
  8. #define kMouseMoved            true
  9. #define kTurnItOn            true
  10. #define kTurnItOff            !kTurnItOn
  11.  
  12.  
  13. typedef void (*ConstrainProcPtr)(Point anchorPoint, Point previousPoint,
  14.                                 Point *nextPoint);
  15.  
  16. typedef void (*FeedbackProcPtr)(Point anchorPoint, Point currentPoint,
  17.                                 Boolean turnItOn, Boolean mouseDidMove);
  18.  
  19. typedef void (*TrackMouseProcPtr)(short aTrackPhase, Point *anchorPoint,
  20.                                 Point *previousPoint, Point *nextPoint,
  21.                                 Boolean mouseDidMove);
  22.  
  23.  
  24.  
  25. Rect    SketchNewRect(Boolean fromCenter);
  26. void    RectFeedback(Point anchorPoint, Point nextPoint,
  27.                     Boolean turnItOn, Boolean mouseDidMove);
  28.  
  29. Rect    SketchNewLine(Boolean fromCenter);
  30. void    LineFeedback(Point anchorPoint, Point nextPoint,
  31.                     Boolean turnItOn, Boolean mouseDidMove);
  32.  
  33. Rect    SketchNewOval(Boolean fromCenter);
  34. void    OvalFeedback(Point anchorPoint, Point nextPoint,
  35.                     Boolean turnItOn, Boolean mouseDidMove);
  36.  
  37. Rect    SketchNewRoundRect(Boolean fromCenter);
  38. void    RoundRectFeedback(Point anchorPoint, Point nextPoint,
  39.                     Boolean turnItOn, Boolean mouseDidMove);
  40.  
  41. void    TrackMouse(ConstrainProcPtr constrainProc,
  42.                     FeedbackProcPtr feedbackProc,
  43.                     TrackMouseProcPtr trackMouseProc,
  44.                     Point *anchorPoint,
  45.                     Point *endPoint);
  46.  
  47. void    AdjustForTrackingFromCenter(Point *anchorPoint, Point endPoint);
  48.